package ftp

import (
	"fmt"
	"github.com/jlaffaye/ftp"
	"log"
	"os"
	"time"
)

func main() {
	// FTP服务器的地址
	server := "ftp.example.com:21"
	// FTP用户名
	username := "your_username"
	// FTP密码
	password := "your_password"

	// 连接到FTP服务器
	conn, err := ftp.Dial(server, ftp.DialWithTimeout(10*time.Second))
	if err != nil {
		log.Fatal(err)
	}
	defer conn.Quit()

	// 登录
	if err := conn.Login(username, password); err != nil {
		log.Fatal(err)
	}

	// 上传文件
	srcFile, err := os.Open("localfile.txt")
	if err != nil {
		log.Fatal(err)
	}
	defer srcFile.Close()
	if err := conn.Stor("remotefile.txt", srcFile); err != nil {
		log.Fatal(err)
	}

	// 下载文件
	dstFile, err := os.Create("downloadedfile.txt")
	if err != nil {
		log.Fatal(err)
	}
	defer dstFile.Close()
	if err, _ := conn.Retr("remotefile.txt"); err != nil {
		log.Fatal(err)
	}

	fmt.Println("File transfer completed successfully")
}
